The present invention relates to the character detection arts. It finds particular application in conjunction with the analog detection of binary glyphs which denote binary 1's and 0's and will be described with particular reference thereto. However, it is to be appreciated that the invention is also applicable to the detection of glyphs, marks, and characters of other configurations.
Glyphs are visually non-obtrusive encodings of information in the gray scale portions of pictures, drawings, logos, forms, and the like. More specifically, printers typically print black and white images by applying a series of dots of ink or toner to the print medium. A 600 dpi printer, for example, prints up to 600 dots per inch (240 dots per centimeter) in each horizontal line and prints 600 lines (240 lines per centimeter) per inch vertically. That is, each square inch contains a 600.times.600 grid of pixels. Black can be printed by placing a black dot in every available pixel and white by leaving the print medium white. Gray scales are depicted by adjusting the optical density of the applied ink or toner. For example, a small fraction of the pixels contain dots to depict pale gray, a large percentage for medium gray, etc.
Glyphs rearrange the dot patterns for a given gray shade in order to encode information. Rather than applying the dots for a given gray scale randomly, the dots are placed in preselected groupings of the same optical density to encode information. In one common glyph pattern, a 5.times.5 array of pixels are dedicated to each glyph. Three dots on a diagonal going down from left to right through the center of the pixel array define a glyph of one polarity and three dots going down from right to left through the center of the array define a glyph of the opposite polarity. These two polarity glyphs are typically used to encode binary information. Binary information can be encoded onto the print medium by printing lines of these 5.times.5 arrays. Such lines of glyphs have a uniform gray scale density and appear as gray bands which may be incorporated into logos, letterhead, borders, and the like. Such glyphs can also be encoded more subtly into portions of the image which already have this same gray scale level.
The glyphs may be utilized to encode an identification of the document, its date of printing, an identification of the printer on which it was printed, and the like. Glyphs may also be used in security applications to encode digital information into background or foreground gray scale regions of an image. For example, a passport image can be glyph encoded to carry a binary identification of the passport number, the name of the passport owner, a description of the person, or the like.
One of the drawbacks with glyph encoding techniques has been that reading and decoding the glyphs has been memory and computationally intensive. Typically, the image was scanned to generate an electronic bit-map of the entire page. Storing a bit-map for a page of a 600 dpi printer required a substantial memory commitment. This bit-map was then mathematically analyzed to identify the glyphs. One mathematical analysis technique included the use of a convolution filter in which a template of the glyph design was convolved with pixel regions of the image to identify the glyphs. Such page analysis techniques were so slow that it was difficult to use the glyph information in real time.
The present invention provides a new and improved glyph detection system and technique which overcomes the above-referenced problems and others.